home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3n / libt6.z / libt6
Encoding:
Text File  |  2002-10-03  |  12.0 KB  |  265 lines

  1.  
  2.  
  3.  
  4. lllliiiibbbbtttt6666((((3333NNNN))))                                                            lllliiiibbbbtttt6666((((3333NNNN))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      libt6 - TSIX trusted IPC library (part of libc in Trusted IRIX)
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////tttt6666aaaattttttttrrrrssss....hhhh>>>>
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      lllliiiibbbbtttt6666 constitutes the TSIX Application Program Interface (API). It is a
  16.      library of routines that an application uses to control attribute
  17.      transport during trusted interprocess communication. In Trusted IRIX, the
  18.      functions defined by TSIG for _llll_iiii_bbbb_tttt_6666 have been incorporated into _llll_iiii_bbbb_cccc.
  19.      The routines in the library are recommended over the underlying system
  20.      call interfaces for portability because they shield the application from
  21.      operating system, communication protocol, and IPC mechanism specifics.
  22.  
  23.      The lllliiiibbbbtttt6666 routines provide interfaces through which the trusted
  24.      application:
  25.  
  26.      +o Specifies the security attributes used to label outgoing IPC messages
  27.        (_o_n-_m_e_s_s_a_g_e _a_t_t_r_i_b_u_t_e_s ) and reads the on-message attributes associated
  28.        with a received message.
  29.  
  30.      +o Controls the security options of the endpoint used to perform trusted
  31.        IPC.
  32.  
  33. SSSSEEEECCCCUUUURRRRIIIITTTTYYYY AAAATTTTTTTTRRRRIIIIBBBBUUUUTTTTEEEESSSS
  34.      At the application level, trusted IPC can be described as a series of
  35.      messages passed between peer processes.  Within the trusted kernel the
  36.      attribute transport service labels each IPC message with the security
  37.      attributes associated with the sending process to protect sensitive
  38.      information in the message and to propagate security-related information
  39.      between communicating Trusted Computing Bases (TCBs). The security
  40.      attributes associated with the sending process are called on-message
  41.      attributes because they are independent of the contents of the message.
  42.      The TCBs decide what to do with the message based on the on-message
  43.      attributes. The security attributes associated with a process, and
  44.      therefore those that are used to label IPC messages, vary with the
  45.      configuration of the system but must be a subset of the following
  46.      attributes:
  47.  
  48.           Clearance
  49.  
  50.           Sensitivity label
  51.  
  52.           Information label (not supported by Trusted IRIX)
  53.  
  54.           Integrity Label
  55.  
  56.           Nationality Caveats
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. lllliiiibbbbtttt6666((((3333NNNN))))                                                            lllliiiibbbbtttt6666((((3333NNNN))))
  71.  
  72.  
  73.  
  74.           Effective Privileges
  75.  
  76.           Login User ID
  77.  
  78.           Additional Audit Information
  79.  
  80.           Network Session ID
  81.  
  82.           Discretionary IDs (user ID, group ID, and supplementary groups)
  83.  
  84.           Process ID
  85.  
  86.      NOTE: Some of these attributes imply component security policies that may
  87.      not be available on some systems.
  88.  
  89.      The TSIX program interface allows trusted applications to change the on-
  90.      message attributes associated with an outgoing message and retrieve the
  91.      on-message attributes associated with an incoming message.
  92.  
  93. OOOONNNN----MMMMEEEESSSSSSSSAAAAGGGGEEEE AAAATTTTTTTTRRRRIIIIBBBBUUUUTTTTEEEE RRRROOOOUUUUTTTTIIIINNNNEEEESSSS
  94.      The on-message attribute routines affect the security attributes
  95.      associated with outgoing messages or retrieve attributes associated with
  96.      incoming messages.  The caller specifies attributes to these routines
  97.      through a _t_6_a_t_t_r__t control structure (defined in <_s_y_s/_t_6_a_t_t_r_s._h>, an
  98.      opaque structure used to access sets of security attributes.  The caller
  99.      specifies the attributes applied to outbound messages or retrieved from
  100.      incoming messages through TSIX routines.  Specified attributes are copied
  101.      from or written to the buffers accessible through the control structure.
  102.      Any attributes not designated by the sender are supplied for outgoing
  103.      messages by the underlying trusted kernel.  The routines that send and
  104.      retrieve on-message attributes operate on sockets or streams, generically
  105.      referred to as endpoints.
  106.  
  107.      _t_6_a_l_l_o_c__b_l_k(3N)       Allocates a _t_6_a_t_t_r__t control structure and storage
  108.                            for the specified set of security attributes.
  109.  
  110.      _t_6_c_l_e_a_r__b_l_k(3N)       Marks specified attributes in the control block as
  111.                            invalid.
  112.  
  113.      _t_6_c_m_p__b_l_k(3N)         Compares two attribute blocks for equality.
  114.  
  115.      _t_6_c_o_p_y__b_l_k(3N)        Copies a _t_6_a_t_t_r__t control structure and the
  116.                            security attributes to which it points into a
  117.                            second, previously allocated _t_6_a_t_t_r__t structure and
  118.                            its previously allocated buffers.
  119.  
  120.      _t_6_d_u_p__b_l_k(3N)         Given one attribute control structure, this routine
  121.                            allocates enough storage to hold a duplicate
  122.                            control structure and all attributes it references,
  123.                            and creates a duplicate.
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. lllliiiibbbbtttt6666((((3333NNNN))))                                                            lllliiiibbbbtttt6666((((3333NNNN))))
  137.  
  138.  
  139.  
  140.      _t_6_f_r_e_e__b_l_k(3N)        Frees attribute control structure and buffers.
  141.                            This interface should be used in conjunction with
  142.                            _t_6_a_l_l_o_c__b_l_k(3N), which allocates the space.
  143.  
  144.      _t_6_a_t_t_r__a_l_l_o_c(3N)      Allocates space for the _t_6_a_t_t_r__t control structure
  145.                            with security attributes set.
  146.  
  147.      _t_6_c_m_p__a_t_t_r(3N)        Compares the two sets of attributes.
  148.  
  149.      _t_6_c_o_p_y__a_t_t_r(3N)       Copies a _t_6_a_t_t_r__t control structure and the
  150.                            security attributes to which it points into a
  151.                            second, previously allocated _t_6_a_t_t_r__t structure and
  152.                            its previously allocated buffers.
  153.  
  154.      _t_6_c_r_e_a_t_e__a_t_t_r(3N)     Allocates a _t_6_a_t_t_r__t control structure and storage
  155.                            for the specified set of security attributes.
  156.  
  157.      _t_6_d_u_p__a_t_t_r(3N)        Given one attribute control structure, this routine
  158.                            allocates enough storage to hold a duplicate
  159.                            control structure and all attributes it references,
  160.                            and creates a duplicate.
  161.  
  162.      _t_6_f_r_e_e__a_t_t_r(3N)       Frees attribute control structure and buffers.
  163.                            This interface should be used in conjunction with
  164.                            _t_6_c_r_e_a_t_e__a_t_t_r(3N), which allocates the space.
  165.  
  166.      _t_6_s_i_z_e__a_t_t_r(3N)       Gets the size of an attribute from the control
  167.                            structure.
  168.  
  169.      _t_6_g_e_t__a_t_t_r(3N)        Gets an attribute handled by the control structure.
  170.  
  171.      _t_6_s_e_t__a_t_t_r(3N)        Sets an attribute handled by the control structure.
  172.  
  173.      _t_6_s_e_n_d_t_o(3N)          Sends data and a specified set of security
  174.                            attributes on a endpoint.
  175.  
  176.      _t_6_r_e_c_v_f_r_o_m(3N)        Reads a network message and retrieves the security
  177.                            attributes associated with the data.
  178.  
  179.      _t_6_p_e_e_k__a_t_t_r(3N)       Peeks ahead and returns the attributes associated
  180.                            with the next byte of data.
  181.  
  182.      _t_6_l_a_s_t__a_t_t_r(3N)       Returns the security attributes associated with the
  183.                            last byte of data read from the network endpoint.
  184.  
  185.      _t_6_g_e_t__e_n_d_p_t__m_a_s_k(3N)  Gets the endpoint mask.
  186.  
  187.      _t_6_s_e_t__e_n_d_p_t__m_a_s_k(3N)  Sets the endpoint mask.
  188.  
  189.      _t_6_g_e_t__e_n_d_p_t__d_e_f_a_u_l_t(3N)
  190.                            Gets the endpoint default security attributes.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. lllliiiibbbbtttt6666((((3333NNNN))))                                                            lllliiiibbbbtttt6666((((3333NNNN))))
  203.  
  204.  
  205.  
  206.      _t_6_s_e_t__e_n_d_p_t__d_e_f_a_u_l_t(3N)
  207.                            Sets the endpoint default security attributes.
  208.  
  209. NNNNEEEETTTTWWWWOOOORRRRKKKK EEEENNNNDDDDPPPPOOOOIIIINNNNTTTT SSSSEEEECCCCUUUURRRRIIIITTTTYYYY OOOOPPPPTTTTIIIIOOOONNNNSSSS
  210.      A trusted application can manipulate a number of security options
  211.      associated with the network endpoint via the following calls:
  212.  
  213.      _t_6_m_l_s__s_o_c_k_e_t(3N)      Turns on or off security policy with regard to a
  214.                            network endpoint.
  215.  
  216.      _t_6_e_x_t__a_t_t_r(3N)        Turns on or off the security extensions to the
  217.                            network endpoint.  This must be called before using
  218.                            any other lllliiiibbbbtttt6666 routines.
  219.  
  220.      _t_6_n_e_w__a_t_t_r(3N)        Specifies to the network endpoint that the
  221.                            receiving process is only interested in receiving
  222.                            attributes if they have changed since the last time
  223.                            it received them.  This saves the overhead created
  224.                            by passing attributes unnecessarily with each
  225.                            message.
  226.  
  227. MMMMaaaaxxxxSSSSIIIIXXXX RRRREEEEMMMMOOOOTTTTEEEE HHHHOOOOSSSSTTTT DDDDAAAATTTTAAAABBBBAAAASSSSEEEE SSSSEEEECCCCUUUURRRRIIIITTTTYYYY OOOOPPPPTTTTIIIIOOOONNNNSSSS
  228.      A trusted application can manipulate the _M_S_I_X_R_H_D_B via the following
  229.      calls:
  230.  
  231.      _t_6_r_h_d_b__f_l_u_s_h(3N)      Remove an entry from the _R_H_D_B.
  232.  
  233.      _t_6_r_h_d_b__g_e_t__h_o_s_t(3N)   Query the for an entry.
  234.  
  235.      _t_6_r_h_d_b__p_u_t__h_o_s_t(3N)   Write and entry to the
  236.  
  237.      _t_6_r_h_d_b__s_t_a_t(3N)       Retrives information on the RHDB.
  238.  
  239. IIIINNNNCCCCLLLLUUUUDDDDEEEE FFFFIIIILLLLEEEESSSS
  240.      Any programs that use routines in this library must include the header
  241.      files containing declarations pertinent to the routine.  The synopsis
  242.      section of each manual page indicates the required header files.  Most
  243.      routines in the library contain references to declarations defined in
  244.      <_s_y_s/_t_6_a_t_t_r_s._h>.  This file defines constants for attribute types to be
  245.      used by various TSIX attribute library access functions, as well as
  246.      constants used as parameters to the library functions.
  247.  
  248. SSSSOOOOUUUURRRRCCCCEEEE
  249.      Trusted Systems Interoperability Group
  250.  
  251. NNNNOOOOTTTTEEEESSSS
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.                                                                         PPPPaaaaggggeeee 4444
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.